package com.zs.hydrant.controller; // 包路径必须正确（根据你的项目结构，确保在controller包下）

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;

/**
 * 用户登录相关接口（包含微信快捷登录）
 */
@RestController // 标记为REST接口控制器，返回JSON数据
@RequestMapping("/user") // 类级别的路径：所有接口以 /user 开头
public class wechatController {

    /**
     * 微信快捷登录接口（供小程序调用）
     * 接口完整路径：http://localhost:8081/api/user/wechatlogin（结合上下文路径/api）
     * @param code 小程序通过wx.login获取的临时登录凭证code
     * @return 登录结果（成功/失败信息）
     */
    @PostMapping("/wechatlogin") // 方法级别的路径：/wechatlogin，支持POST请求
    public Map<String, Object> wechatLogin(@RequestParam String code) {
        // 1. 创建返回结果对象
        Map<String, Object> result = new HashMap<>();

        // 2. 验证code是否为空（简单参数校验）
        if (code == null || code.isEmpty()) {
            result.put("success", false);
            result.put("msg", "登录失败：code不能为空");
            return result;
        }

        // 3. TODO: 核心逻辑（后续需要补充，当前先返回成功状态让小程序端调试通过）
        // 临时模拟登录成功（实际项目中需用code调用微信官方接口获取openid等信息，再进行用户登录/注册）
        System.out.println("小程序传递的code：" + code); // 打印code，方便后端调试查看

        // 4. 返回成功结果给小程序
        result.put("success", true);
        result.put("msg", "微信登录成功（后端临时模拟）");
        result.put("data", "user_id_123"); // 临时返回用户ID，实际应返回真实用户数据
        return result;
    }
}